﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace C_高级编程
{
    /**
            using ：  自动释放资源
            using :   引用命名空间
            
            1、为什么我们定义的变量不需要释放资源呢？
                    GC  : 垃圾回收器，这里面封装了一些算法规定了什么时候去回收垃圾。我们自己定义的变量不需要关心它有没有
                释放掉，因为GC会为我们自动回收资源
            
            2、既然已经有了GC为什么还要手动释放资源呢？
                    GC只能回收托管资源(由 .net CLR管理的资源)，而SqlConnection是属于非托管资源
            
            3、那我怎么知道它是否为非托管资源呢？
                    如果它实现了 IDeposeable 接口，那它就是非托管资源，我们就可以手动释放它
    **/
}
